home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1999 January / PC Plus Super CD No55a (PCP-147A-1-99) (Disc 1) (1998).iso / linux / developers / visualtcl / windows / vtcl / demo / simple.tcl < prev    next >
Encoding:
Text File  |  1997-03-27  |  3.0 KB  |  118 lines

  1. #############################################################################
  2. # Visual Tcl v1.08 Project
  3. #
  4.  
  5. #################################
  6. # GLOBAL VARIABLES
  7. #
  8. global big_global; set big_global {this is a global variable}
  9. global obj; set obj {1}
  10. global widget; 
  11.     set widget(rev,.top17.fra18.01) {TEXT}
  12.     set widget(TEXT) {.top17.fra18.01}
  13.  
  14. #################################
  15. # USER DEFINED PROCEDURES
  16. #
  17. proc init {argc argv} {
  18.  
  19. }
  20.  
  21. init $argc $argv
  22.  
  23.  
  24. proc main {argc argv} {
  25. global widget
  26. $widget(TEXT) insert end "forced text"
  27. }
  28.  
  29. proc Window {args} {
  30. global vTcl
  31.     set cmd [lindex $args 0]
  32.     set name [lindex $args 1]
  33.     set rest [lrange $args 2 end]
  34.     if {$name == "" || $cmd == ""} {return}
  35.     set exists [winfo exists $name]
  36.     switch $cmd {
  37.         show {
  38.             if {[info procs vTclWindow(pre)$name] != ""} {
  39.                 vTclWindow(pre)$name $rest
  40.             }
  41.             if {[info procs vTclWindow$name] != ""} {
  42.                 vTclWindow$name
  43.             }
  44.             if {[info procs vTclWindow(post)$name] != ""} {
  45.                 vTclWindow(post)$name $rest
  46.             }
  47.         }
  48.         hide    { if $exists {wm withdraw $name; return} }
  49.         iconify { if $exists {wm iconify $name; return} }
  50.         destroy { if $exists {destroy $name; return} }
  51.     }
  52. }
  53.  
  54. #################################
  55. # VTCL GENERATED GUI PROCEDURES
  56. #
  57.  
  58. proc vTclWindow. {args} {
  59.     set base .
  60.     ###################
  61.     # CREATING WIDGETS
  62.     ###################
  63.     wm focusmodel . passive
  64.     wm geometry . 212x100+0+0
  65.     wm maxsize . 1137 870
  66.     wm minsize . 1 1
  67.     wm overrideredirect . 0
  68.     wm resizable . 1 1
  69.     wm withdraw .
  70.     wm title . "vt.tcl"
  71.     ###################
  72.     # SETTING GEOMETRY
  73.     ###################
  74. }
  75.  
  76. proc vTclWindow.top17 {args} {
  77.     set base .top17
  78.     if {[winfo exists .top17]} {
  79.         wm deiconify .top17; return
  80.     }
  81.     ###################
  82.     # CREATING WIDGETS
  83.     ###################
  84.     toplevel .top17 -class Toplevel
  85.     wm focusmodel .top17 passive
  86.     wm geometry .top17 212x100+135+161
  87.     wm maxsize .top17 1137 870
  88.     wm minsize .top17 1 1
  89.     wm overrideredirect .top17 0
  90.     wm resizable .top17 1 1
  91.     wm deiconify .top17
  92.     wm title .top17 "Simple"
  93.     frame .top17.fra18 \
  94.         -background #81d9d9 -borderwidth 1 -height 151 -relief raised \
  95.         -width 159 
  96.     entry .top17.fra18.01 \
  97.         -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*-* 
  98.     button .top17.fra18.02 \
  99.         -command {$widget(TEXT) delete 0 end} \
  100.         -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*-* \
  101.         -highlightthickness 0 -padx 9 -pady 3 -text Clear 
  102.     ###################
  103.     # SETTING GEOMETRY
  104.     ###################
  105.     grid .top17.fra18 \
  106.         -column 0 -row 0 -columnspan 1 -rowspan 1 -ipady 5 -padx 10 -pady 10 \
  107.         -sticky nesw 
  108.     grid .top17.fra18.01 \
  109.         -column 0 -row 0 -columnspan 1 -rowspan 1 -padx 20 -pady 5 
  110.     grid .top17.fra18.02 \
  111.         -column 0 -row 1 -columnspan 1 -rowspan 1 -pady 5 
  112. }
  113.  
  114. Window show .
  115. Window show .top17
  116.  
  117. main $argc $argv
  118.